package com.shujia

object Demo04Func01 {
  // 定义一个函数func1：有一个参数类型为String，返回值类型为Int，可以实现将String转为Int并+100进行返回
  def func1(str: String): Int = {
    return str.toInt + 100
  }

  /**
   * 函数的省略规则：
   * 1、Scala中默认最后一行代码就是返回值，return关键字可以省略
   * 2、如果代码只有一行，则花括号可以省略
   * 3、函数的返回值类型可以自动根据返回值推断出来，所以可以省略
   * 4、如果函数没有参数，则括号可以省略
   */

  def func1_1(str: String): Int = {
    str.toInt + 100
  }

  def func1_2(str: String): Int = str.toInt + 100

  def func1_3(str: String) = str.toInt + 100

  // 这是一个函数，并不是变量
  def func1_4 = "200".toInt + 100


  def main(args: Array[String]): Unit = {
    // 函数的调用
    println(Demo04Func01.func1("100"))
    println(func1("200"))
    println(func1_1("200"))
    println(func1_2("200"))
    println(func1_3("200"))
    println(func1_4)

  }

}
